package com.cgnpc.scp.run.service;

import cn.com.cgnpc.aep.bizcenter.appcenter.sdk.result.ApiResult;
import com.cgnpc.cud.core.domain.AjaxResult;
import com.cgnpc.scp.common.bean.CreateFileInfo;
import com.cgnpc.scp.common.bean.MyPageResult;
import com.cgnpc.scp.run.mybatis.entity.ProjectInfo;
import com.cgnpc.scp.run.pojo.ProjectImplementationInfoVo;
import com.cgnpc.scp.run.pojo.ProjectUndertakeInfoVo;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.Map;

public interface ProjectInfoService {

    MyPageResult<ProjectInfo> queryProjectInfoPageList(Map<String, Object> params);

    AjaxResult saveProjectInfo(ProjectInfo projectInfo);

    String getStageIdByProjectId(String stageTableName, String projectId);

    ProjectUndertakeInfoVo getProjectUndertakeInfoById(String id) throws IllegalAccessException, InstantiationException;

    AjaxResult getProjectInfoById(String id);

    AjaxResult updateProjectInfoById(ProjectInfo projectInfo);

    AjaxResult remove(String id);

    ProjectImplementationInfoVo getProjectImplementationInfoById(String id);

    Boolean importFromExcel(MultipartFile file) throws IOException;

    void uploadTemp() throws IOException;

    CreateFileInfo exportExcel(Map<String, Object> params) throws Exception;

    ApiResult notifyBusiness(String projectId) throws Exception;
}
